package com.example.lib_common.base

import android.app.Activity
import android.app.Application
import android.os.Bundle
import com.alibaba.android.arouter.launcher.ARouter
import com.example.lib_common.utils.AppHolder
import com.example.lib_common.utils.LoggerUtils
import com.tencent.mmkv.MMKV
import dagger.hilt.android.HiltAndroidApp


open class BaseApplication : Application() {
    companion object {
        lateinit var instance: BaseApplication
    }

    override fun onCreate() {
        super.onCreate()
        instance = this

        initMMKV()
        initARouter()

      initAppHolder()


    }

    private fun initAppHolder() {
        AppHolder.initialize(this)
    }

    fun initMMKV() {
        MMKV.initialize(this)
    }

    fun initARouter() {
        ARouter.openLog()//打印日志
        ARouter.openDebug()//开启调试模式(如果在InstantRun模式下运行，必须开启调试模式！线上版本需要关闭,否则有安全风险)
        ARouter.init(this)//尽可能早，推荐在application中初始化

    }
}